如何使用自定义API日志

  • 下面我们使用blade-demo中的一个API接口来测试下API日志
  • 增加@ApiLog注解,代码如下
/**
 * 详情
 */
@ApiLog("Blog详情")
@GetMapping("/detail")
@ApiOperation(value = "查看详情", notes = "传入主键", position = 1)
public R<Blog> detail(@ApiParam(value = "主键值") @RequestParam Integer id) {
   Blog detail = service.getById(id);
   return R.data(detail);
}

  • 重启服务后调用接口并查看数据库日志,可以看到,详细的日志信息都已经入库了


如何使用自定义通用日志

  • 仍然找到上一小节提到的blade-demo中的API接口
  • 注入BladeLogger类,并在detail接口内写入逻辑,代码如下
@RestController
@AllArgsConstructor
@RequestMapping("blog")
@Api(value = "用户博客", tags = "博客接口")
public class NoticeController extends BladeController implements CacheNames {

   private IBlogService service;
   private BladeLogger logger;

   /**
    * 详情
    */
   @ApiLog("Blog详情")
   @GetMapping("/detail")
   @ApiOperation(value = "查看详情", notes = "传入主键", position = 1)
   public R<Blog> detail(@ApiParam(value = "主键值") @RequestParam Integer id) {
      Blog detail = service.getById(id);
      logger.info("detail_test", JsonUtil.toJson(detail));
      return R.data(detail);
   }
}
  • 重启服务后调用接口并查看数据库日志, 将会看到blade_log_usual已经有数据入库了

结尾语

为了保证日志系统的高可用,推荐将这三张表单独成一个库,同时将 blade-log 服务部署多份,这样就可以保证日志服务可长期稳定地提供保障